1. Field of the Invention
This invention generally relates to semantic web technology, and more specifically, to methods and systems for scalable distribution of semantic web updates. Even more specifically, the invention relates to such methods and systems that arc particularly well suited for use with the Resource Description Framework (RDF) language.
2. Background Art
RDF is a language used to represent information, particularly meta data about resources available in the World Wide Web. For example, RDF may be used to represent copyright or licensing information about a document on the Web, or the author and title of a particular Web page. RDF can also be employed for representing data or meta data about items or matters that can be identified on the World Wide Web even though these items cannot be directly retrieved from the Web. Examples of these latter items may include data about a user's Web preferences, and information, such as the price and availability, of items for sale at on-line shopping facilities. Specifications for RDF are established by the World Wide Web Consortium. The RDF specification also describes how to serialize RDF data for use in web services, etc. (e.g. RDF/XML).
RDF uses identifiers, referred to as Uniform Resource Identifiers, or URIs, and is based on a specific terminology. An RDF statement includes a subject, a predicate and an object. The subject identifies the thing, such as person or Web page, that the statement is about. The predicate identifies the property or characteristic, such as title or owner, of the subject of the RDF statement, and the object identifies a value of that property or characteristic. For example, if the RDF statement is about pet owners, the subject might be “owner,” the predicate could be “name,” and the object could be “Joe.” This format, among other advantages, allows RDF to represent statements as a graph of nodes and arcs. In the graph, the subjects and objects may be represented by, for example, ovals, circles or squares, or some combination thereof while the predicates of the RDF statements may be represented by arcs or arrows connecting the subject of each statement with the object of the statement.
An important feature of RDF is that it provides a common framework for expressing information. This allows this information to be exchanged among applications without losing any meaning of the information. Because of this common framework application developers can utilize the availability of common tools and parsers to process RDF information.
While the RDF specification describes a data model, and there exists several query languages, there is no standard method for publishing updated semantic web data to distributed clients. More specifically, conventional semantic web solutions (1) provide query languages and APIs for retrieving specified data patterns from an RDF graph, and (2) provide rudimentary eventing systems allowing clients to receive notification whenever any RDF statements are added or removed to a repository/store. These conventional solutions however, do not efficiently transmit updates to distributed clients, and in particular, do not distribute updates such that clients receive only the information they require or request.